--------------------------------------------------------------------------------
             Mobile Extensions configuration for Qt for Symbian
--------------------------------------------------------------------------------

About Mobile Extensions

Mobile Extensions (http://wiki.forum.nokia.com/index.php/Mobile_Extensions) was
an early attempt at a set of APIs (with technology preview status) that provide
the capability to extend Qt applications with mobile features on Symbian/S60 
devices.

The latest version of Mobile Extensions libraries were build with Qt for Symbian 
pre-release version 4.5.2-tower, and have not been updated since. Qt Mobility 
project (http://qt.nokia.com/developer/new-qt-apis/) has replaced Mobile 
Extensions. 

What's this, then?

There are a few remaining use cases that cannot be implemented with QtMobility 
APIs, but which Mobile Extensions support. However, as the ME binaries are no 
longer compatible with Qt 4.6.x, its Nokia-signed SIS package and import 
libraries are unusable in 4.6 environment.

This script will install a new custom configuration called 'mobile_extensions'
for Qt. Applications using Mobile Extensions APIs can then instruct qmake to
compile the sources of the used API directly into the project - no linking to
Mobile Extensions libraries or installing additional SIS packages are required.

--------------------------------------------------------------------------------

Supported Platforms

Qt for Symbian 4.6.x, 4.7 (Qt SDK)

--------------------------------------------------------------------------------

Installation

Download and extract the Mobile Extensions delivery package
http://wiki.forum.nokia.com/index.php/Mobile_Extensions#The_delivery_package

Make sure you have a working command line environment for Qt for Symbian

For example:
Start menu -> Qt for Symbian 4.7.3 by Nokia -> Qt for Symbian Command Prompt

Extract this package to any location, then run configure.bat from Qt for Symbian
Command Prompt and follow instructions.

--------------------------------------------------------------------------------

Usage

In Qt application, add 'mobile_extensions' to CONFIG variable:

symbian: CONFIG += mobile_extensions

Then, in MOBILE_EXTENSIONS, list all the APIs whose source files you want to
compile in with your project. Available APIs:

accesspointmanager
alarms
audio
calendar
camera *
contacts
installer
landmarks
location
media
messaging
profile
resourceaccess
settingsmanager **
sysinfo
utils
sensors
telephony
vibra

For example,

symbian: {
  CONFIG += mobile_extensions
  MOBILE_EXTENSIONS = audio \
                      media \
                      utils
}

For API-specific instructions, refer to Mobile Extensions wiki page and example/
demo applications.

--------------------------------------------------------------------------------

About Capabilities

The 'mobile_extensions' configuration will check the capabilities assigned to
the application (TARGET.CAPABILITY) and warn if any of the capabilities 
known to be required by selected APIs are missing. Note that only basic use
cases are covered. Depending on the features used the application may need
additional capabilities as well.

* About Camera

Since release 0.6, the config script now uses a static version of the 
camerawrapper library - this means that the client no longer needs to 
install/embed camerawrapper.sisx. See  Symbian/S60 Camera Wrapper project for 
instructions on how to get and build the static camera wrapper library.

** About Settingsmanager

Settingsmanager is currently broken in Mobile Extensions when building for
Symbian^3, where CRepository no longer has TransactionState() method.
Recommended to migrate code to QtMobility/publishsubscribe instead.

----------------------------------------------------------------------------eof-
